13e7350f824558b539484dd20fb4d57d98666e17,server/komodo-rest/src/main/java/org/komodo/rest/service/KomodoTeiidService.java,KomodoTeiidService,query,#HttpHeaders#UriInfo#String#,1156
Before Change
try {
kqa = KomodoJsonMarshaller.unmarshall(queryAttribute, KomodoQueryAttribute.class);
if (kqa.getQuery() == null) {
String errorMessage = RelationalMessages.getString(
RelationalMessages.Error.TEIID_SERVICE_QUERY_MISSING_QUERY);
Object responseEntity = createErrorResponseEntity(mediaTypes, errorMessage);
return Response.status(Status.FORBIDDEN).entity(responseEntity).build();
}
if (kqa.getTarget() == null) {
String errorMessage = RelationalMessages.getString(
RelationalMessages.Error.TEIID_SERVICE_QUERY_MISSING_TARGET);
Object responseEntity = createErrorResponseEntity(mediaTypes, errorMessage);
return Response.status(Status.FORBIDDEN).entity(responseEntity).build();
}
} catch (Exception ex) {
String errorMessage = RelationalMessages.getString(
RelationalMessages.Error.TEIID_SERVICE_REQUEST_PARSING_ERROR, ex.getMessage());
Object responseEntity = createErrorResponseEntity(mediaTypes, errorMessage);
return Response.status(Status.FORBIDDEN).entity(responseEntity).build();
}
UnitOfWork uow = null;
try {
uow = createTransaction(principal, "queryTeiidservice", true); //$NON-NLS-1$
Teiid teiidNode = getDefaultTeiid();
WorkspaceManager mgr = getWorkspaceManager(uow);
String target = kqa.getTarget();
String query = kqa.getQuery();
//
// Is target a deployed vdb or a dataservice in the workspace that has had its vdbs deployed?
//
String vdbName = extractServiceVdbName(uow, mgr, target);
if (vdbName == null) {
//
// The target does not reference a data service in the workspace
// or the data service has no service vdb. Either way target should
// be applied directly to the query.
//
vdbName = target;
}
TeiidInstance teiidInstance = teiidNode.getTeiidInstance(uow);
TeiidVdb vdb = teiidInstance.getVdb(vdbName);
if (vdb == null) {
String errorMessage = RelationalMessages.getString(
RelationalMessages.Error.TEIID_SERVICE_QUERY_TARGET_NOT_DEPLOYED);
Object responseEntity = createErrorResponseEntity(mediaTypes, errorMessage);
return Response.status(Status.FORBIDDEN).entity(responseEntity).build();
}
LOGGER.debug("Establishing query service for query {0} on vdb {1}", query, vdbName);
After Change
try {
kqa = KomodoJsonMarshaller.unmarshall(queryAttribute, KomodoQueryAttribute.class);
if (kqa.getQuery() == null) {
return createErrorResponse(Status.FORBIDDEN, mediaTypes, RelationalMessages.Error.TEIID_SERVICE_QUERY_MISSING_QUERY);
}
if (kqa.getTarget() == null) {
return createErrorResponse(Status.FORBIDDEN, mediaTypes, RelationalMessages.Error.TEIID_SERVICE_QUERY_MISSING_TARGET);
}
} catch (Exception ex) {
return createErrorResponse(Status.FORBIDDEN, mediaTypes, ex, RelationalMessages.Error.TEIID_SERVICE_REQUEST_PARSING_ERROR);
}
UnitOfWork uow = null;
try {
uow = createTransaction(principal, "queryTeiidservice", true); //$NON-NLS-1$
Teiid teiidNode = getDefaultTeiid();
WorkspaceManager mgr = getWorkspaceManager(uow);
String target = kqa.getTarget();
String query = kqa.getQuery();
//
// Is target a deployed vdb or a dataservice in the workspace that has had its vdbs deployed?
//
String vdbName = extractServiceVdbName(uow, mgr, target);
if (vdbName == null) {
//
// The target does not reference a data service in the workspace
// or the data service has no service vdb. Either way target should
// be applied directly to the query.
//
vdbName = target;
}
TeiidInstance teiidInstance = teiidNode.getTeiidInstance(uow);
TeiidVdb vdb = teiidInstance.getVdb(vdbName);
if (vdb == null) {
return createErrorResponse(Status.FORBIDDEN, mediaTypes, RelationalMessages.Error.TEIID_SERVICE_QUERY_TARGET_NOT_DEPLOYED);
}
LOGGER.debug("Establishing query service for query {0} on vdb {1}", query, vdbName);